import axios from 'axios'

import Vue from 'vue'
import Vant, {
    Toast
} from 'vant'
import 'vant/lib/index.css'
Vue.use(Vant)

//如果要对这个axios库设定一个基准路径
//默认,基础,路径
// axios.defaults.baseURL = 'http://liangwei.tech:3000'
axios.defaults.baseURL = 'http://157.122.54.189:9083';

//写一个拦截器,用来添加token
//请求拦截
axios.interceptors.request.use(config => {
    //在他Headers没有token并且我有的情况下才能给
    if (!config.headers.Authorization && localStorage.getItem("token")) {
        config.headers.Authorization = localStorage.getItem("token")
    }

    return config
})

// 需要添加拦截器,无论那个页面发送请求,都应该来到这里,
//先判断,再返回给页面,只要是axios发出的请求都会经过这里
//相应拦截
axios.interceptors.response.use(res => {
    //应该res.data返回的状态(statusCode)中4开头的都是没有成功的状态,所以设置正则
    const errCodePattern = /^4\d{2}$/;
    if (errCodePattern.test(res.data.statusCode)) {
        Toast.fail(res.data.message || '系统错误呢亲')
    }
    if (res.data.message == '用户信息验证失败') {
        localStorage.removeItem('token');
        localStorage.removeItem('userId');
        router.replace('/login')
    }
    return res
})
//导出
export default axios